package org.jeecg.modules.demo.com.kunpeng.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.demo.com.kunpeng.entity.OaContract;
import org.jeecg.modules.demo.com.kunpeng.entity.dto.OaOtherContractUpdateDTO;
import org.jeecg.modules.demo.com.kunpeng.entity.dto.OaPurchaseContractUpdateDTO;
import org.jeecg.modules.demo.com.kunpeng.entity.dto.OaSaleContractUpdateDTO;
import org.jeecg.modules.demo.com.kunpeng.vo.OaOtherContractPage;
import org.jeecg.modules.demo.com.kunpeng.vo.OaPurchaseContractPage;
import org.jeecg.modules.demo.com.kunpeng.vo.OaSaleContractPage;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface IOaContractService extends IService<OaContract> {

    /**
     * 插入OA销售合同数据
     * @param oaSaleContractPage
     */
    void insertOaSaleContract(OaSaleContractPage oaSaleContractPage);

    /**
     * 插入OA采购合同数据
     */
    void insertOaPurchaseContract(OaPurchaseContractPage oaPurchaseContractPage);

    /**
     * 插入OA其他合同数据
     * @param oaOtherContractPag
     */
    void insertOaOtherContract(OaOtherContractPage oaOtherContractPag);

    /**
     * 编辑OA销售合同数据
     * @param oaSaleContractUpdateDTO
     */
    void updateOaSaleContract(OaSaleContractUpdateDTO oaSaleContractUpdateDTO);

    /**
     * 编辑OA采购合同数据
     * @param oaPurchaseContractUpdateDTO
     */
    void updateOaPurchaseContract(OaPurchaseContractUpdateDTO oaPurchaseContractUpdateDTO);

    /**
     * 编辑OA其他合同数据
     * @param oaOtherContractUpdateDTO
     */
    void updateOaOtherContract(OaOtherContractUpdateDTO oaOtherContractUpdateDTO);

    /**
     * 根据合同编号前缀模糊查询合同列表
     */
    Integer oaContractListByContractIdPrefix(String prefix);
}
